알고리즘 문제 [못 푼 문제] 백준 7576 정말 간단한 문제였지만 그 쉬운 한가지를 생각하지 못했다. 위 같은 경우 최댄 거리를 찾는 문제라 기본적으로 bfs를 사용하고 시작 지점이 둘 이상인 경우 단순히 시작 지점 둘다 큐에 넣어주면 그만인 것이다. 그리고 하나 더 프로그램을 종료싶은 경우 exit(0)를 사용하자.... 알고리즘 문제알고리즘 문제 [못 푼 문제] 백준 10989번 sys.stdin.readline()을 사용하여 input의 시간을 줄였다. 또한 입력 가능한 수의 개수가 10,000,000개 이고 최대 입력 가능한 수가 10,000이기 때문에 모든 수를 입력 받아 리스트로 만들어 sort하는 것 보다 크기 10,000인 리스트를 만들어 값을 1씩 올려주는게 더 낫다.... 알고리즘 문제알고리즘 문제 [못 푼 문제] 백준 2225번 생각을 깊게 못했다. d(n, k) = d(n, k-1) + d(n-1, k-1) + ... + d(1, k-1) + d(0, k-1) = d(n, k-1) + d(n-1, k)... 알고리즘 문제알고리즘 문제 [못 푼 문제] 백준 2011 전혀 이런 방식을 생각을 못했다. 당연히 앞에에 다 포함 된다는 말을 믿어야 한다.... 알고리즘 문제알고리즘 문제 SWEA 7675. 통역사 성경이 접근 방식 아............ 최근들어 짜증났던 문제 중 하나이다. 전체 문장 데이터 인풋 값을 받아올 때 strip()를 해줘야 했다. 이거 때문에 통과가 안되었는데, 사실 안붙여도 예제는 통과가 되었지만 어째서인지 제출을 하면 정답이 0개였다. 붙였더니 통과.. 이유는 아직 잘 모르게따.. 전체 문장을 받아오면서 '?'와 '!'를 '.'으로 replace해주었다. 그리고 '.'을 기... 알고리즘 문제SWEASWEA Algorithm/programmers/힙/level2/더 맵게 (with python) 리스트 scoville을 내림차순으로 정렬한다. scoville의 마지막 원소는 가장 안 매운 음식의 스코빌 지수가 된다. 두 음식을 섞었을 때 리스트에서 하나의 요소를 삭제해야 한다. 이때 만약 오름차순으로 정렬한다면 index 0의 요소를 삭제해야하는데 리스트에서 index 0 의 요소를 삭제하면 O(N)의 시간이 걸린다. 나름 시간 복잡도를 줄이기 위해서 내림차순으로 정렬했다.(ㅠㅠ) ... 알고리즘 문제힙programmersprogrammers Algorithm/programmers/2020 KAKAO BLIND RECRUITMENT /level2/문자열 압축 (with python) 압축 단위가 문자열 s의 길이의 1/2을 넘으면 압축이 안되기 때문에 압축 단위의 범위는 1 ~ len(s)//2이다. 이 범위를 모두 순회하여 모든 경우의 수를 구한다. (완전 탐색) <- 문자열 s의 최대 길이가 1000이어서 가능 압축 기준이 되는 문자열을 잡아서 압축이 가능한지 검사한다. unit 단위로 압축 기준이 되는 문자열을 잡는다. 바로 다음에 나오는 unit 단위의 문자열들과... 알고리즘 문제programmersprogrammers 프로그래머스 정수 내림차순 정렬 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. n은 1이상 8000000000 이하인 자연수입니다. java의 sort와 Comparator를 사용하여 풀 수 있는 간단한 문제다. 근데 왜 정리해놨냐? Comparator를 사용함에 있어 제한 사... 알고리즘 문제알고리즘 문제 [Programmers][python] 24. 문제풀이 실습 (12): 프로그래머스 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는... python알고리즘 문제programmers우선순위 큐힙programmers SWEA 9700. USB 꽂기의 미스터리 (with Python) 접근 방법 음.... 꽤나 고민을 했다. 나는 왜 이러케 멍청할까.. s1 구하기 1번 뒤집어서 성공해야 하기 때문에 처음에 옳바르지 않은 면으로 시도 (1-p) 그리고 1번 뒤집어서 성공 (q) (1-p) * q s2 구하기 2번 뒤집어서 성공해야 하기 때문에 처음에 옳바른 면으로 시도하지만 실패 (p * (1-q)) 뒤집어서 실패 (옳바른 면이 아니므로 무조건 실패) 뒤집어서 성공 (q)... 알고리즘 문제SWEASWEA 이진트리 레벨 탐색 (BFS) DFS는 실행시 가장 말단의 노드를 찍고 올라오면서 탐색하거나 가장 말단의 노드까지 탐색하며 내려가는 방법이였다면 BFS는 노드의 단계별 탐색을 하는 것을 의미한다. 우리가 코드에서 구현한 Node가 위 그림과 같은 트리 구조의 데이터를 가질 때 DFS의 경우 이러한 구조로 탐색하여 트리를 탐색한다고 생각하면 된다. BFS의 경우 위 두 그림처럼 단계별로 로 탐색하는 것을 의미한다. 우리는 ... 알고리즘 문제알고리즘 문제 [BOJ] 14499 주사위 굴리기 - 삼성SW역량테스트 기출 주사위 도면도를 가로부분, 세로부분 나눠서 생각 위, 아래를 공유함 동서남북 방향에 따라 주사위 전개도 업데이트 북쪽이면 세로부분 위로밀고 남쪽이면 아래로 밀고 동쪽이면 가로부분 오른쪽으로 밀고 서쪽이면 왼쪽으로 밀고 세로, 가로 부분 공유하는 위, 아래 부분 서로 같게 업데이트 지도가 0일 경우와 아닐 경우 나눠서 지도에 바닥값 복사 or 지도에 있는 값 주사위 바닥에 복사... 백준알고리즘 문제백준
[못 푼 문제] 백준 7576 정말 간단한 문제였지만 그 쉬운 한가지를 생각하지 못했다. 위 같은 경우 최댄 거리를 찾는 문제라 기본적으로 bfs를 사용하고 시작 지점이 둘 이상인 경우 단순히 시작 지점 둘다 큐에 넣어주면 그만인 것이다. 그리고 하나 더 프로그램을 종료싶은 경우 exit(0)를 사용하자.... 알고리즘 문제알고리즘 문제 [못 푼 문제] 백준 10989번 sys.stdin.readline()을 사용하여 input의 시간을 줄였다. 또한 입력 가능한 수의 개수가 10,000,000개 이고 최대 입력 가능한 수가 10,000이기 때문에 모든 수를 입력 받아 리스트로 만들어 sort하는 것 보다 크기 10,000인 리스트를 만들어 값을 1씩 올려주는게 더 낫다.... 알고리즘 문제알고리즘 문제 [못 푼 문제] 백준 2225번 생각을 깊게 못했다. d(n, k) = d(n, k-1) + d(n-1, k-1) + ... + d(1, k-1) + d(0, k-1) = d(n, k-1) + d(n-1, k)... 알고리즘 문제알고리즘 문제 [못 푼 문제] 백준 2011 전혀 이런 방식을 생각을 못했다. 당연히 앞에에 다 포함 된다는 말을 믿어야 한다.... 알고리즘 문제알고리즘 문제 SWEA 7675. 통역사 성경이 접근 방식 아............ 최근들어 짜증났던 문제 중 하나이다. 전체 문장 데이터 인풋 값을 받아올 때 strip()를 해줘야 했다. 이거 때문에 통과가 안되었는데, 사실 안붙여도 예제는 통과가 되었지만 어째서인지 제출을 하면 정답이 0개였다. 붙였더니 통과.. 이유는 아직 잘 모르게따.. 전체 문장을 받아오면서 '?'와 '!'를 '.'으로 replace해주었다. 그리고 '.'을 기... 알고리즘 문제SWEASWEA Algorithm/programmers/힙/level2/더 맵게 (with python) 리스트 scoville을 내림차순으로 정렬한다. scoville의 마지막 원소는 가장 안 매운 음식의 스코빌 지수가 된다. 두 음식을 섞었을 때 리스트에서 하나의 요소를 삭제해야 한다. 이때 만약 오름차순으로 정렬한다면 index 0의 요소를 삭제해야하는데 리스트에서 index 0 의 요소를 삭제하면 O(N)의 시간이 걸린다. 나름 시간 복잡도를 줄이기 위해서 내림차순으로 정렬했다.(ㅠㅠ) ... 알고리즘 문제힙programmersprogrammers Algorithm/programmers/2020 KAKAO BLIND RECRUITMENT /level2/문자열 압축 (with python) 압축 단위가 문자열 s의 길이의 1/2을 넘으면 압축이 안되기 때문에 압축 단위의 범위는 1 ~ len(s)//2이다. 이 범위를 모두 순회하여 모든 경우의 수를 구한다. (완전 탐색) <- 문자열 s의 최대 길이가 1000이어서 가능 압축 기준이 되는 문자열을 잡아서 압축이 가능한지 검사한다. unit 단위로 압축 기준이 되는 문자열을 잡는다. 바로 다음에 나오는 unit 단위의 문자열들과... 알고리즘 문제programmersprogrammers 프로그래머스 정수 내림차순 정렬 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. n은 1이상 8000000000 이하인 자연수입니다. java의 sort와 Comparator를 사용하여 풀 수 있는 간단한 문제다. 근데 왜 정리해놨냐? Comparator를 사용함에 있어 제한 사... 알고리즘 문제알고리즘 문제 [Programmers][python] 24. 문제풀이 실습 (12): 프로그래머스 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는... python알고리즘 문제programmers우선순위 큐힙programmers SWEA 9700. USB 꽂기의 미스터리 (with Python) 접근 방법 음.... 꽤나 고민을 했다. 나는 왜 이러케 멍청할까.. s1 구하기 1번 뒤집어서 성공해야 하기 때문에 처음에 옳바르지 않은 면으로 시도 (1-p) 그리고 1번 뒤집어서 성공 (q) (1-p) * q s2 구하기 2번 뒤집어서 성공해야 하기 때문에 처음에 옳바른 면으로 시도하지만 실패 (p * (1-q)) 뒤집어서 실패 (옳바른 면이 아니므로 무조건 실패) 뒤집어서 성공 (q)... 알고리즘 문제SWEASWEA 이진트리 레벨 탐색 (BFS) DFS는 실행시 가장 말단의 노드를 찍고 올라오면서 탐색하거나 가장 말단의 노드까지 탐색하며 내려가는 방법이였다면 BFS는 노드의 단계별 탐색을 하는 것을 의미한다. 우리가 코드에서 구현한 Node가 위 그림과 같은 트리 구조의 데이터를 가질 때 DFS의 경우 이러한 구조로 탐색하여 트리를 탐색한다고 생각하면 된다. BFS의 경우 위 두 그림처럼 단계별로 로 탐색하는 것을 의미한다. 우리는 ... 알고리즘 문제알고리즘 문제 [BOJ] 14499 주사위 굴리기 - 삼성SW역량테스트 기출 주사위 도면도를 가로부분, 세로부분 나눠서 생각 위, 아래를 공유함 동서남북 방향에 따라 주사위 전개도 업데이트 북쪽이면 세로부분 위로밀고 남쪽이면 아래로 밀고 동쪽이면 가로부분 오른쪽으로 밀고 서쪽이면 왼쪽으로 밀고 세로, 가로 부분 공유하는 위, 아래 부분 서로 같게 업데이트 지도가 0일 경우와 아닐 경우 나눠서 지도에 바닥값 복사 or 지도에 있는 값 주사위 바닥에 복사... 백준알고리즘 문제백준